package org.jsola.hr.service.impl;

import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.jsola.admin.entity.DictItemDO;
import org.jsola.common.SafeKit;
import org.jsola.core.Page;
import org.jsola.exception.ParamException;
import org.jsola.hr.common.BeanCopyUtil;
import org.jsola.hr.common.ExampleKit;
import org.jsola.hr.constant.*;
import org.jsola.hr.dao.ICustomTemplateFieldDAO;
import org.jsola.hr.dto.CustomTemplateFieldAddDTO;
import org.jsola.hr.dto.CustomTemplateFieldUpdateDTO;
import org.jsola.hr.entity.CustomTemplateDO;
import org.jsola.hr.entity.CustomTemplateFieldDO;
import org.jsola.hr.provider.IAdminProviderService;
import org.jsola.hr.query.ChannelQuery;
import org.jsola.hr.query.CompanyNecessaryFieldQuery;
import org.jsola.hr.query.CustomTemplateFieldQuery;
import org.jsola.hr.query.CustomTemplateQuery;
import org.jsola.hr.service.*;
import org.jsola.hr.vo.*;
import org.jsola.user.core.TokenUser;
import org.jsola.user.core.UserContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import tk.mybatis.mapper.entity.Example;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

import static org.jsola.hr.service.impl.CompanyNecessaryFieldServiceImpl.POST_TYPE;

/**
 * 自定义模板字段
 *
 * @author zhr
 */
@Slf4j
@Service("hrCustomTemplateFieldServiceImpl")
public class CustomTemplateFieldServiceImpl implements ICustomTemplateFieldService {

    @Autowired
    private ICustomTemplateFieldDAO customTemplateFieldDAO;

    @Autowired
    private IChannelService channelService;

    @Autowired
    private ICustomTemplateService customTemplateService;

    @Autowired
    private ICompanyAdditionalFieldsService companyAdditionalFieldsService;

    @Autowired
    private ICompanyNecessaryFieldService companyNecessaryFieldService;

    @Autowired
    private IAdminProviderService adminProviderService;

    @Override
    public List<String> selectAllEmpFiled(String companyId, TokenUser tokenUser) {
        List<String> filedList = new ArrayList();
        CustomTemplateQuery customTemplateQuery = new CustomTemplateQuery();
        customTemplateQuery.setCompanyId(companyId);
        List<CustomTemplateListVO> entities = customTemplateService.selectPage(customTemplateQuery, tokenUser).getEntities();
        //入职模板字段
        if (!CollectionUtils.isEmpty(entities)) {
            entities.forEach(customTemplateListVO -> {
                CustomTemplateFieldQuery customTemplateFieldQuery = new CustomTemplateFieldQuery();
                customTemplateFieldQuery.setCompanyId(companyId);
                customTemplateFieldQuery.setTemplateId(customTemplateListVO.getId());
                CustomFieldVO customFieldVO = selectAllField(customTemplateFieldQuery, tokenUser);
                if (customFieldVO != null) {
                    if (!CollectionUtils.isEmpty(customFieldVO.getSystemFieldList())) {
                        for (CustomTemplateFieldListVO customTemplateFieldListVO : customFieldVO.getSystemFieldList()) {
                            filedList.add(customTemplateFieldListVO.getFieldName());
                        }
                    }
                    if (!CollectionUtils.isEmpty(customFieldVO.getAdditionalFieldList())) {
                        for (CompanyAdditionalFieldsListVO companyAdditionalFieldsListVO : customFieldVO.getAdditionalFieldList()) {
                            filedList.add(companyAdditionalFieldsListVO.getFieldName());
                        }
                    }
                }
            });
        }
        CustomTemplateFieldQuery customTemplateFieldQuery = new CustomTemplateFieldQuery();
        customTemplateFieldQuery.setModuleCode("onJob");
        customTemplateFieldQuery.setCompanyId(companyId);
        CustomFieldVO customFieldVO = listDefaultAndAdditionalField(customTemplateFieldQuery, tokenUser);
        if (!CollectionUtils.isEmpty(customFieldVO.getSystemFieldList())) {
            for (CustomTemplateFieldListVO customTemplateFieldListVO : customFieldVO.getSystemFieldList()) {
                filedList.add(customTemplateFieldListVO.getFieldName());
            }
        }
        if (!CollectionUtils.isEmpty(customFieldVO.getAdditionalFieldList())) {
            for (CompanyAdditionalFieldsListVO companyAdditionalFieldsListVO : customFieldVO.getAdditionalFieldList()) {
                filedList.add(companyAdditionalFieldsListVO.getFieldName());
            }
        }

        //员工设置字段
        CompanyNecessaryFieldQuery companyNecessaryFieldQuery = new CompanyNecessaryFieldQuery();
        companyNecessaryFieldQuery.setCompanyId(companyId);
        companyNecessaryFieldQuery.setType(1);
        List<CompanyFieldInfoVO> companyFieldInfoVOS = companyNecessaryFieldService.listForPc(companyNecessaryFieldQuery, tokenUser);
        if (!CollectionUtils.isEmpty(companyFieldInfoVOS)) {
            for (CompanyFieldInfoVO companyFieldInfoVO : companyFieldInfoVOS) {
                for (CompanyNecessaryFieldVO companyNecessaryFieldVO : companyFieldInfoVO.getFieldList()) {
                    filedList.add(StringUtils.isEmpty(companyNecessaryFieldVO.getFieldName()) ? null : companyNecessaryFieldVO.getFieldName());
                }
                for (CompanyAdditionalFieldsListVO companyAdditionalFieldsListVO : companyFieldInfoVO.getAdditionalFieldList()) {
                    filedList.add(StringUtils.isEmpty(companyAdditionalFieldsListVO.getFieldName()) ? null : companyAdditionalFieldsListVO.getFieldName());
                }
            }
        }
        return filedList;
    }

    @Override
    @Transactional(value = HrConstants.TX, rollbackFor = Exception.class)
    public CustomTemplateFieldVO save(CustomTemplateFieldAddDTO customTemplateFieldAddDTO, TokenUser tokenUser) {
        // 转DO
        CustomTemplateFieldDO customTemplateFieldDO = customTemplateFieldAddDTO.to(CustomTemplateFieldDO.class);
        // 保存
        customTemplateFieldDO = save(customTemplateFieldDO, tokenUser.getSiteId(), tokenUser.getUserId());
        return customTemplateFieldDO.to(CustomTemplateFieldVO.class);
    }

    @Override
    @Transactional(value = HrConstants.TX, rollbackFor = Exception.class)
    public List<CustomTemplateFieldVO> batchSave(List<CustomTemplateFieldAddDTO> customTemplateFieldAddDTOList, TokenUser tokenUser) {
        if (CollectionUtils.isEmpty(customTemplateFieldAddDTOList)) {
            return null;
        }
        List<CustomTemplateFieldDO> customTemplateFieldDOList = customTemplateFieldAddDTOList
                .parallelStream()
                .map(customTemplateFieldAddDTO -> {
                    CustomTemplateFieldDO customTemplateFieldDO = customTemplateFieldAddDTO.to(CustomTemplateFieldDO.class);
                    customTemplateFieldDO.preInsert(tokenUser.getUserId());
                    customTemplateFieldDO.setSiteId(tokenUser.getSiteId());
                    return customTemplateFieldDO;
                }).collect(Collectors.toList());
        customTemplateFieldDAO.insertListAndSetId(customTemplateFieldDOList);
        return customTemplateFieldDOList
                .parallelStream()
                .map(customTemplateFieldDO -> customTemplateFieldDO.to(CustomTemplateFieldVO.class))
                .collect(Collectors.toList());
    }

    @Override
    @Transactional(value = HrConstants.TX, rollbackFor = Exception.class)
    public List<CustomTemplateFieldVO> batchSave(String templateId, List<CustomTemplateFieldAddDTO> customTemplateFieldAddDTOList,
                                                 TokenUser tokenUser) {
        if (CollectionUtils.isEmpty(customTemplateFieldAddDTOList)) {
            return null;
        }
        List<CustomTemplateFieldDO> customTemplateFieldDOList = customTemplateFieldAddDTOList
                .parallelStream()
                .map(customTemplateFieldAddDTO -> {
                    CustomTemplateFieldDO customTemplateFieldDO = customTemplateFieldAddDTO.to(CustomTemplateFieldDO.class);
                    customTemplateFieldDO.setTemplateId(templateId);
                    customTemplateFieldDO.preInsert(tokenUser.getUserId());
                    customTemplateFieldDO.setSiteId(tokenUser.getSiteId());
                    return customTemplateFieldDO;
                }).collect(Collectors.toList());
        customTemplateFieldDAO.insertListAndSetId(customTemplateFieldDOList);
        return customTemplateFieldDOList
                .parallelStream()
                .map(customTemplateFieldDO -> customTemplateFieldDO.to(CustomTemplateFieldVO.class))
                .collect(Collectors.toList());
    }

    @Override
    @Transactional(value = HrConstants.TX, rollbackFor = Exception.class)
    public int update(CustomTemplateFieldUpdateDTO customTemplateFieldUpdateDTO, TokenUser tokenUser) {
        //转DO
        CustomTemplateFieldDO customTemplateFieldDO = customTemplateFieldUpdateDTO.to(CustomTemplateFieldDO.class);
        //根据主键更新，只更新非null值
        return updateByIdSelective(customTemplateFieldDO, tokenUser.getSiteId(), tokenUser.getUserId());
    }

    @Override
    @Transactional(value = HrConstants.TX, rollbackFor = Exception.class)
    public int deleteByIds(TokenUser tokenUser, String... customTemplateFieldIds) {
        return logicalDeleteByIds(tokenUser.getSiteId(), tokenUser.getUserId(), (Object[]) customTemplateFieldIds);
    }

    @Override
    @Transactional(value = HrConstants.TX, rollbackFor = Exception.class)
    public int deleteByTemplateIdList(List<String> templateIdList, TokenUser tokenUser) {

        List<CustomTemplateFieldDO> customTemplateFieldDOList = listDOByTemplateIdList(templateIdList);
        int count = 0;
        for (CustomTemplateFieldDO customTemplateFieldDO : customTemplateFieldDOList) {
            customTemplateFieldDO.setValid(null);
            customTemplateFieldDO.preUpdate(tokenUser.getUserId());
            count += customTemplateFieldDAO.updateByPrimaryKey(customTemplateFieldDO);
        }
        return count;
    }


    @Override
    public CustomTemplateFieldVO selectById(String customTemplateFieldId, String siteId) {
        CustomTemplateFieldDO customTemplateFieldDO = selectDOById(customTemplateFieldId, siteId);
        if (customTemplateFieldDO == null) {
            return null;
        }
        return customTemplateFieldDO.to(CustomTemplateFieldVO.class);
    }

    @Override
    public List<CustomTemplateFieldListVO> select(CustomTemplateFieldQuery customTemplateFieldQuery, TokenUser tokenUser) {
        String templateId = customTemplateFieldQuery.getTemplateId();
        ParamException.hasText(templateId, "模板id必传");
        Example example = new Example(CustomTemplateFieldDO.class);
        example.and()
                .andEqualTo("valid", true)
                .andEqualTo("templateId", templateId);
        List<CustomTemplateFieldDO> customTemplateFieldDOList = customTemplateFieldDAO.selectByExample(example);
        if (CollectionUtils.isEmpty(customTemplateFieldDOList)) {
            return customTemplateFieldDOList == null ? null : new ArrayList<>();
        }
        //  设置下拉选项
        List<CustomTemplateFieldListVO> customTemplateFieldListVOS = customTemplateFieldDOList.stream()
                .sorted(Comparator.comparing(CustomTemplateFieldDO::getSort))
                .map(customTemplateFieldDO -> customTemplateFieldDO.to(CustomTemplateFieldListVO.class))
                .collect(Collectors.toList());
        setFieldDropDownArray(customTemplateFieldListVOS, tokenUser);
        return customTemplateFieldListVOS;
    }

    /**
     * 设置字段的下拉选项数组
     * 模板里面的给字段下拉框赋值跟花名册详情页的要保值一致
     */
    public void setFieldDropDownArray(List<CustomTemplateFieldListVO> fieldList, TokenUser tokenUser) {
        if (CollectionUtils.isEmpty(fieldList)) {
            return;
        }
        for (CustomTemplateFieldListVO customTemplateFieldListVO : fieldList) {
            switch (customTemplateFieldListVO.getFieldCode()) {
                // 员工状态
                case "formalType":
                    List<DropDownEnumVO> dropDownEnumList = new ArrayList<>();
                    Arrays.stream(FormalTypeEnum.values()).forEach(genderEnum -> {
                        // 实习/无状态不展示
//                        if (FormalTypeEnum.NOTYPE.getValue().equals(genderEnum.getValue())
//                                || FormalTypeEnum.PRACTICE.getValue().equals(genderEnum.getValue())) {
//                            return;
//                        }
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList);
                    break;
                // 血型
                case "bloodGroup":
                    List<DropDownEnumVO> dropDownEnumList2 = new ArrayList<>();
                    Arrays.stream(BloodGroupEnum.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList2.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList2);
                    break;
                // 政治面貌
                case "politicalStatus":
                    List<DropDownEnumVO> dropDownEnumList3 = new ArrayList<>();
                    Arrays.stream(EmpPoliticalStatus.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList3.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList3);
                    break;
                // 民族
                case "nation":
                    List<DropDownEnumVO> dropDownEnumList4 = new ArrayList<>();
                    Arrays.stream(HrConstants.NATION.split(",")).forEach(nation -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(nation);
                        dropDownEnumVO.setLabel(nation);
                        dropDownEnumList4.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList4);
                    break;
                // 户口类型
                case "regType":
                    List<DropDownEnumVO> dropDownEnumList5 = new ArrayList<>();
                    Arrays.stream(RegTypeEnum.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList5.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList5);
                    break;
                // 生育状况
                case "birthStatus":
                    List<DropDownEnumVO> dropDownEnumList6 = new ArrayList<>();
                    Arrays.stream(EmpBirthStatus.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList6.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList6);
                    break;
                // 婚姻状况
                case "maritalStatus":
                    List<DropDownEnumVO> dropDownEnumList7 = new ArrayList<>();
                    Arrays.stream(EmpMaritalStatus.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList7.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList7);
                    break;
                // 工作性质
                case "postType":

                    List<DropDownEnumVO> dropDownEnumList8 = new ArrayList<>();
                    List<DictItemDO> list = adminProviderService.selectAllDictItem(null, POST_TYPE, tokenUser);
                    for (DictItemDO dictItemDO : list) {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(dictItemDO.getDictItemValue());
                        dropDownEnumVO.setLabel(dictItemDO.getDictItemKey());
                        dropDownEnumList8.add(dropDownEnumVO);
                    }

//                    List<DropDownEnumVO> dropDownEnumList8 = new ArrayList<>();
//                    Arrays.stream(PostType.values()).forEach(genderEnum -> {
//                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
//                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
//                        dropDownEnumVO.setLabel(genderEnum.getDesc());
//                        dropDownEnumList8.add(dropDownEnumVO);
//                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList8);
                    break;
                // 渠道
                case "channelId":
                    ChannelQuery channelQuery = new ChannelQuery();
                    List<ChannelListVO> channelListVOS = channelService.select(channelQuery, tokenUser.getSiteId());

                    List<DropDownEnumVO> dropDownEnumList9 = new ArrayList<>();
                    channelListVOS.forEach(s -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(s.getId()));
                        dropDownEnumVO.setLabel(s.getName());
                        dropDownEnumList9.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList9);
                    break;
                // 工作状态
                case "status":
                    List<DropDownEnumVO> dropDownEnumList10 = new ArrayList<>();

                    DropDownEnumVO dropDownEnumVO1 = new DropDownEnumVO();
                    dropDownEnumVO1.setValue("1");
                    dropDownEnumVO1.setLabel("已接到");
                    dropDownEnumList10.add(dropDownEnumVO1);

                    DropDownEnumVO dropDownEnumVO2 = new DropDownEnumVO();
                    dropDownEnumVO2.setValue("2");
                    dropDownEnumVO2.setLabel("已安排");
                    dropDownEnumList10.add(dropDownEnumVO2);

                    DropDownEnumVO dropDownEnumVO3 = new DropDownEnumVO();
                    dropDownEnumVO3.setValue("3");
                    dropDownEnumVO3.setLabel("已面试");
                    dropDownEnumList10.add(dropDownEnumVO3);

//                    DropDownEnumVO dropDownEnumVO4 = new DropDownEnumVO();
//                    dropDownEnumVO4.setValue("4");
//                    dropDownEnumVO4.setLabel("已入职");
//                    dropDownEnumList10.add(dropDownEnumVO4);
//
//                    DropDownEnumVO dropDownEnumVO5 = new DropDownEnumVO();
//                    dropDownEnumVO5.setValue("5");
//                    dropDownEnumVO5.setLabel("已离职");
//                    dropDownEnumList10.add(dropDownEnumVO5);
//
//                    DropDownEnumVO dropDownEnumVO6 = new DropDownEnumVO();
//                    dropDownEnumVO6.setValue("6");
//                    dropDownEnumVO6.setLabel("待入职");
//                    dropDownEnumList10.add(dropDownEnumVO6);
//
//                    DropDownEnumVO dropDownEnumVO7 = new DropDownEnumVO();
//                    dropDownEnumVO7.setValue("7");
//                    dropDownEnumVO7.setLabel("未到岗");
//                    dropDownEnumList10.add(dropDownEnumVO7);

                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList10);
                    break;

                case "isFirstPf":
                    // 是否首次缴纳公积金
                case "isFirstSoc":
                    // 是否首次缴纳社保
                    List<DropDownEnumVO> dropDownEnumList11 = new ArrayList<>();

                    DropDownEnumVO dropDownEnumVO8 = new DropDownEnumVO();
                    dropDownEnumVO8.setValue("true");
                    dropDownEnumVO8.setLabel("是");
                    dropDownEnumList11.add(dropDownEnumVO8);

                    DropDownEnumVO dropDownEnumVO9 = new DropDownEnumVO();
                    dropDownEnumVO9.setValue("false");
                    dropDownEnumVO9.setLabel("否");
                    dropDownEnumList11.add(dropDownEnumVO9);

                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList11);
                    break;
                case "gender":
                    List<DropDownEnumVO> dropDownEnumList12 = new ArrayList<>();
                    Arrays.stream(GenderEnum.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList12.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList12);
                    break;
                case "retirementStatus":
                    List<DropDownEnumVO> dropDownEnumList22 = new ArrayList<>();
                    DropDownEnumVO dropDownEnumVO221 = new DropDownEnumVO();
                    dropDownEnumVO221.setValue("true");
                    dropDownEnumVO221.setLabel("是");
                    dropDownEnumList22.add(dropDownEnumVO221);

                    DropDownEnumVO dropDownEnumVO222 = new DropDownEnumVO();
                    dropDownEnumVO222.setValue("false");
                    dropDownEnumVO222.setLabel("否");
                    dropDownEnumList22.add(dropDownEnumVO222);

                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList22);
                    break;
                case "degreeType":
                    List<DropDownEnumVO> dropDownEnumList23 = new ArrayList<>();
                    Arrays.stream(EmpDegreeType.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList23.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList23);
                    break;
                case "education":
                    List<DropDownEnumVO> dropDownEnumList24 = new ArrayList<>();
                    Arrays.stream(EducationLevelEnum.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList24.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList24);
                    break;
                case "teaMethods":
                    List<DropDownEnumVO> dropDownEnumList25 = new ArrayList<>();
                    Arrays.stream(TeachMethod.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList25.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList25);
                    break;
                //奖励、惩罚
                case "rewardPunish":
                    List<DropDownEnumVO> dropDownEnumList26 = new ArrayList<>();
                    Arrays.stream(RewardPunishEnum.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList26.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList26);
                    break;
                //奖励类别
                case "rewardType":
                    List<DropDownEnumVO> dropDownEnumList27 = new ArrayList<>();
                    Arrays.stream(RewardTypeEnum.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList27.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList27);
                    break;
                //惩罚类别
                case "punishType":
                    List<DropDownEnumVO> dropDownEnumList28 = new ArrayList<>();
                    Arrays.stream(PunishTypeEnum.values()).forEach(genderEnum -> {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(SafeKit.getString(genderEnum.getValue()));
                        dropDownEnumVO.setLabel(genderEnum.getDesc());
                        dropDownEnumList28.add(dropDownEnumVO);
                    });
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList28);
                    break;
                // 签约主体
                case "contractSubject":
                    List<DropDownEnumVO> dropDownEnumList29 = new ArrayList<>();
                    List<DictItemDO> dictItemDOList = adminProviderService
                            .selectAllDictItem(null, "1223", new TokenUser("setFieldDropDownArray", tokenUser.getSiteId()));
                    for (DictItemDO dictItemDO : dictItemDOList) {
                        DropDownEnumVO dropDownEnumVO = new DropDownEnumVO();
                        dropDownEnumVO.setValue(dictItemDO.getDictItemKey());
                        dropDownEnumVO.setLabel(dictItemDO.getDictItemValue());
                        dropDownEnumList29.add(dropDownEnumVO);
                    }
                    customTemplateFieldListVO.setDropDownEnumList(dropDownEnumList29);
                    break;
                case "":
                default:
                    break;
            }
        }
    }

    @Override
    public int selectCount(CustomTemplateFieldQuery customTemplateFieldQuery, String siteId) {
        Example example = buildExample(customTemplateFieldQuery, siteId);
        return customTemplateFieldDAO.selectCountByExample(example);
    }

    @Override
    public Page<CustomTemplateFieldListVO> selectPage(CustomTemplateFieldQuery customTemplateFieldQuery, String siteId) {
        Example example = buildExample(customTemplateFieldQuery, siteId);
        Page<CustomTemplateFieldDO> page = customTemplateFieldDAO.selectPageByExample(example,
                customTemplateFieldQuery.getPageNo(),
                customTemplateFieldQuery.getPageSize());

        return page.to(CustomTemplateFieldListVO.class);
    }

    @Override
    public CustomTemplateFieldDO selectDOById(String customTemplateFieldId, String siteId) {
        return listById(customTemplateFieldId, siteId);
    }

    @Override
    public List<CustomTemplateFieldDO> selectDO(CustomTemplateFieldQuery customTemplateFieldQuery, String siteId) {
        Example example = buildExample(customTemplateFieldQuery, siteId);
        return customTemplateFieldDAO.selectByExample(example);
    }

    @Override
    public List<CustomTemplateFieldListVO> listDefaultField(CustomTemplateFieldQuery customTemplateFieldQuery,
                                                            TokenUser tokenUser) {
        List<CustomTemplateDO> customTemplateDOS = customTemplateService.selectBySystem(null, customTemplateFieldQuery.getModuleCode());
        if (customTemplateDOS.size() != 1) {
            log.error("默认自定义模板错误，查询数量：{},moduleCode：{}", customTemplateDOS.size(), customTemplateFieldQuery.getModuleCode());
            throw new ParamException("默认自定义模板错误,请联系管理员");
        }
        CustomTemplateDO customTemplateDO = customTemplateDOS.get(0);
        List<CustomTemplateFieldVO> customTemplateFieldVOList = listByTemplateId(customTemplateDO.getId(), tokenUser);

        List<CustomTemplateFieldListVO> customTemplateFieldListVOList;
        if (CollectionUtils.isEmpty(customTemplateFieldVOList)) {
            return new ArrayList<>();
        }
        customTemplateFieldListVOList = customTemplateFieldVOList.stream()
                .map(s -> s.to(CustomTemplateFieldListVO.class))
                .collect(Collectors.toList());
        setFieldDropDownArray(customTemplateFieldListVOList, tokenUser);
        return customTemplateFieldListVOList;
    }

    @Override
    public CustomFieldVO listDefaultAndAdditionalField(CustomTemplateFieldQuery customTemplateFieldQuery, TokenUser tokenUser) {
        CustomFieldVO customFieldVO = new CustomFieldVO();
        // 系统字段
        List<CustomTemplateFieldListVO> customTemplateFieldListVOS = listDefaultField(customTemplateFieldQuery, tokenUser);
        customFieldVO.setSystemFieldList(customTemplateFieldListVOS);
        // 额外添加字段
        String companyId = customTemplateFieldQuery.getCompanyId();
        List<CompanyAdditionalFieldsListVO> additionalFieldsListVOS
                = companyAdditionalFieldsService.listByCompanyId(customTemplateFieldQuery.getModuleCode(), companyId,
                HrConstants.TEMPLATE_ID_LIST, tokenUser);
        customFieldVO.setAdditionalFieldList(additionalFieldsListVOS);
        return customFieldVO;
    }

    @Override
    public List<CustomTemplateFieldVO> listByTemplateId(String templateId, TokenUser tokenUser) {
        Example example = new Example(CustomTemplateFieldDO.class);
        example.and()
                .andEqualTo("valid", true)
                .andEqualTo("templateId", templateId);
        List<CustomTemplateFieldDO> customTemplateFieldDOS = customTemplateFieldDAO.selectByExample(example);
        if (CollectionUtils.isEmpty(customTemplateFieldDOS)) {
            return new ArrayList<>();
        }
        List<CustomTemplateFieldVO> customTemplateFieldVOList = new ArrayList<>();
        if (!CollectionUtils.isEmpty(customTemplateFieldDOS)) {
            customTemplateFieldVOList = customTemplateFieldDOS.stream()
                    .map(s -> s.to(CustomTemplateFieldVO.class))
                    .sorted(Comparator.comparing(CustomTemplateFieldVO::getSort))
                    .collect(Collectors.toList());
        }
        // 方法参数不一致，手动转换赋值
        List<CustomTemplateFieldListVO> customTemplateFieldListVOS
                = BeanCopyUtil.beanListCopy(customTemplateFieldVOList, CustomTemplateFieldListVO.class);

        //设置下拉框的枚举值
        setFieldDropDownArray(customTemplateFieldListVOS, tokenUser);
        List<CustomTemplateFieldVO> customTemplateFieldVOList1
                = BeanCopyUtil.beanListCopy(customTemplateFieldListVOS, CustomTemplateFieldVO.class);
        return customTemplateFieldVOList1;
    }

    @Override
    public List<CustomTemplateFieldVO> listByTemplateIdList(List<String> templateIdList, TokenUser tokenUser) {
        if (CollectionUtils.isEmpty(templateIdList)) {
            return new ArrayList<>();
        }
        Example example = new Example(CustomTemplateFieldDO.class);
        example.and()
                .andEqualTo("valid", true)
                .andIn("templateId", templateIdList);
        List<CustomTemplateFieldDO> customTemplateFieldDOS = customTemplateFieldDAO.selectByExample(example);
        if (CollectionUtils.isEmpty(customTemplateFieldDOS)) {
            return new ArrayList<>();
        }
        List<CustomTemplateFieldVO> customTemplateFieldVOList = new ArrayList<>();
        if (!CollectionUtils.isEmpty(customTemplateFieldDOS)) {
            customTemplateFieldVOList = customTemplateFieldDOS.stream()
                    .map(s -> s.to(CustomTemplateFieldVO.class))
                    .sorted(Comparator.comparing(CustomTemplateFieldVO::getSort))
                    .collect(Collectors.toList());
        }
        // 方法参数不一致，手动转换赋值
        List<CustomTemplateFieldListVO> customTemplateFieldListVOS
                = BeanCopyUtil.beanListCopy(customTemplateFieldVOList, CustomTemplateFieldListVO.class);
        setFieldDropDownArray(customTemplateFieldListVOS, tokenUser);
        List<CustomTemplateFieldVO> customTemplateFieldVOList1
                = BeanCopyUtil.beanListCopy(customTemplateFieldListVOS, CustomTemplateFieldVO.class);
        return customTemplateFieldVOList1;
    }

    @Override
    public List<CustomTemplateFieldDO> listDOByTemplateIdList(List<String> templateIdList) {
        if (CollectionUtils.isEmpty(templateIdList)) {
            return new ArrayList<>();
        }
        Example example = new Example(CustomTemplateFieldDO.class);
        example.and()
                .andEqualTo("valid", true)
                .andIn("templateId", templateIdList);
        List<CustomTemplateFieldDO> customTemplateFieldDOS = customTemplateFieldDAO.selectByExample(example);
        if (CollectionUtils.isEmpty(customTemplateFieldDOS)) {
            return new ArrayList<>();
        }
        return customTemplateFieldDOS;
    }

    @Override
    public List<CustomTemplateFieldDO> selectByDefaultModuleCode(String moduleCode, String fieldName, TokenUser tokenUser) {
        Example example = new Example(CustomTemplateFieldDO.class);
        example.and()
                .andEqualTo("valid", true)
                .andEqualTo("companyId", "default")
                .andEqualTo("siteId", "default")
                .andEqualTo("moduleCode", moduleCode);
        if (!StringUtils.isEmpty(fieldName)) {
            example.and().andLike("fieldName", "%" + fieldName + "%");
        }
        return customTemplateFieldDAO.selectByExample(example);
    }

    @Override
    @Transactional(value = HrConstants.TX, rollbackFor = Exception.class)
    public List<CustomTemplateFieldVO> createDefaultField() {
        TokenUser tokenUser = UserContext.getUser();
        tokenUser.setSiteId("system");
        tokenUser.setUserId("system");
        List<CustomTemplateFieldAddDTO> list = new ArrayList<>();
        Arrays.stream(CustomerModuleType.values()).forEach(customerModuleType -> {
                    String moduleCode = customerModuleType.getValue();
                    CustomTemplateFieldQuery query = new CustomTemplateFieldQuery();
                    query.setModuleCode(moduleCode);
                    List<CustomTemplateFieldListVO> customTemplateFieldListVOS = listDefaultField(query, tokenUser);
                    String templateId = customTemplateFieldListVOS.get(0).getTemplateId();
                    // 最大的排序值
                    Integer sort = customTemplateFieldListVOS.get(customTemplateFieldListVOS.size() - 1).getSort();
                    String annexField = getAnnexField();
                    List<CustomTemplateFieldAddDTO> fieldAddDTOList = JSON.parseArray(annexField, CustomTemplateFieldAddDTO.class);
                    for (CustomTemplateFieldAddDTO fieldAddDTO : fieldAddDTOList) {
                        sort = sort + 10;
                        fieldAddDTO.setSort(sort);
                        fieldAddDTO.setCompanyId(HrConstants.ADD_FIELD_COMPANY_SITE);
                        fieldAddDTO.setTemplateId(templateId);
                        // 图片类型
                        fieldAddDTO.setFieldType(7);
                        fieldAddDTO.setIsDefault(true);
                        fieldAddDTO.setIsEdit(1);
                        fieldAddDTO.setIsRequired(false);
                        fieldAddDTO.setIsNecessary(false);
                        fieldAddDTO.setIsOpen(false);
                        fieldAddDTO.setType(2);
                        fieldAddDTO.setModuleCode(moduleCode);
                        fieldAddDTO.setModuleName(customerModuleType.getDesc());
                        list.add(fieldAddDTO);
                    }
                }
        );
        List<CustomTemplateFieldVO> customTemplateFieldVOList = batchSave(list, UserContext.getUser());
        return customTemplateFieldVOList;
    }

    @Override
    public CustomFieldVO selectAllField(CustomTemplateFieldQuery customTemplateFieldQuery, TokenUser tokenUser) {
        CustomFieldVO customFieldVO = new CustomFieldVO();
        // 系统字段
        List<CustomTemplateFieldListVO> systemFieldList = select(customTemplateFieldQuery, tokenUser);
        systemFieldList = systemFieldList.parallelStream().filter(companyNecessaryFieldVO -> companyNecessaryFieldService
                .filterField(
                        companyNecessaryFieldVO.getFieldName(), tokenUser.getSiteId())).parallel().collect(Collectors.toList());
        customFieldVO.setSystemFieldList(systemFieldList);

        // 自定义字段
        String companyId = customTemplateFieldQuery.getCompanyId();
        List<CompanyAdditionalFieldsListVO> additionalFieldsListVOList
                = companyAdditionalFieldsService.listByCompanyId(customTemplateFieldQuery.getModuleCode()
                , companyId, customTemplateFieldQuery.getTemplateId(), tokenUser);
        customFieldVO.setAdditionalFieldList(additionalFieldsListVOList);
        return customFieldVO;
    }


    /**
     * 根据查询参数，构建example
     *
     * @param customTemplateFieldQuery 查询参数
     * @param siteId                   所属站点id
     * @return example
     */
    private Example buildExample(CustomTemplateFieldQuery customTemplateFieldQuery, String siteId) {
        Example example = new Example(CustomTemplateFieldDO.class);
        example.and()
                .andEqualTo("valid", true)
                .andEqualTo("siteId", siteId);
        // 排序
        ExampleKit.setExampleOrder(example, customTemplateFieldQuery.getOrders());
        return example;
    }

    /**
     * 获取材料附件字段
     *
     * @return
     */
    private static String getAnnexField() {
        return "[\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexPersonPhoto\",\n" +
                "\t\t\"fieldName\": \"个人证件照\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"F78240C0A8764B0A9F662BA607E1C4C1\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": true,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 52\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexIdCard\",\n" +
                "\t\t\"fieldName\": \"身份证原件照片\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"53F536814D3F4393A0AA239E46B88117\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 53\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexDegree\",\n" +
                "\t\t\"fieldName\": \"学历证明\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"6929E55C68774A95A68258F385207659\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": true,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 54\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexHousehold\",\n" +
                "\t\t\"fieldName\": \"户口本照片\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"B768DC2CD431414C800EDC15810B63E2\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 55\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexSalaryCard\",\n" +
                "\t\t\"fieldName\": \"工资银行卡\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"9F21DB7F81914133A6ED2EC5F8A610B7\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": true,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 56\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexSocCard\",\n" +
                "\t\t\"fieldName\": \"社保卡\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"0E842BB017C84E58B015817E22E80185\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 57\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexPfCard\",\n" +
                "\t\t\"fieldName\": \"公积金卡\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"6D8AA750628245AF99AFF2C4468ED79F\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 58\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexPractising\",\n" +
                "\t\t\"fieldName\": \"职业资格证书\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"324A9179FF524E569A5D9650DB25F8F0\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 59\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexReward\",\n" +
                "\t\t\"fieldName\": \"获奖证书\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"8EEC435C67444D069B97E1CB59E62D7D\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 60\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexNoCriminal\",\n" +
                "\t\t\"fieldName\": \"无犯罪记录证明\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"5539D8A7C4CD4D89B8645D00B3CC3F29\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"annex\",\n" +
                "\t\t\"moduleName\": \"员工基本资料\",\n" +
                "\t\t\"sort\": 61\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexLaborContract\",\n" +
                "\t\t\"fieldName\": \"劳动合同\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"3153851A44AC4F7CB8AD665480C60D18\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 70\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexLastLeaveCert\",\n" +
                "\t\t\"fieldName\": \"上家公司离职证明\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"53AE12C863EC4FB9AE09B043D6BD6721\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 71\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexOnbCheckup\",\n" +
                "\t\t\"fieldName\": \"入职体检单\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"9F0E1D8225F446FD8674F412571EBD4C\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 72\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexOnbResume\",\n" +
                "\t\t\"fieldName\": \"入职简历\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"5B9B9CF3599A46BD93185EA730B16D0B\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 73\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexWorkApply\",\n" +
                "\t\t\"fieldName\": \"工作申请表\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"60BAC1E0CF5C4D79A29C60C0C3019B20\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 74\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexAdjustNotice\",\n" +
                "\t\t\"fieldName\": \"调薪通知单\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"DA6F175122D543E582F34D5E2CE96547\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 75\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexPersonalChange\",\n" +
                "\t\t\"fieldName\": \"人事异动申请表\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"9277A3CDBC854B3089E58D534F25CD47\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 76\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexSocTransfer\",\n" +
                "\t\t\"fieldName\": \"社会保险转移单\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"85EEFC833BAE490CAB227B391C7507CE\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 77\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexPerformanceReport\",\n" +
                "\t\t\"fieldName\": \"效绩考核结果报告\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"5E2BCC271E7C48FFA0416BA2AD67E020\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 78\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexNoPregnant\",\n" +
                "\t\t\"fieldName\": \"女职工未孕证明\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"AB5C6DEE1356487EBD75A65D1E7E16B7\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"archive\",\n" +
                "\t\t\"moduleName\": \"员工档案资料\",\n" +
                "\t\t\"sort\": 79\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexLeaveAppro\",\n" +
                "\t\t\"fieldName\": \"离职审批\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"CABA301C198349CAAF63835BAA61A779\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": true,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"leaveOffice\",\n" +
                "\t\t\"moduleName\": \"员工离职资料\",\n" +
                "\t\t\"sort\": 80\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexLeaveCert\",\n" +
                "\t\t\"fieldName\": \"离职证明\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"32FE032D1CB440A789028BA4A173A0EB\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"leaveOffice\",\n" +
                "\t\t\"moduleName\": \"员工离职资料\",\n" +
                "\t\t\"sort\": 81\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexLeaveApply\",\n" +
                "\t\t\"fieldName\": \"离职申请表\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"6206D325E44E4F798868D9352FA9EECA\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"leaveOffice\",\n" +
                "\t\t\"moduleName\": \"员工离职资料\",\n" +
                "\t\t\"sort\": 82\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexHandoverTable\",\n" +
                "\t\t\"fieldName\": \"工作交接表\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"231D4F65ADB540FA9046A93259619ADB\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"leaveOffice\",\n" +
                "\t\t\"moduleName\": \"员工离职资料\",\n" +
                "\t\t\"sort\": 83\n" +
                "\t},\n" +
                "\t{\n" +
                "\t\t\"companyId\": \"site\",\n" +
                "\t\t\"content\": null,\n" +
                "\t\t\"dropDownArray\": null,\n" +
                "\t\t\"dropDownEnumList\": null,\n" +
                "\t\t\"empContactsListVO\": null,\n" +
                "\t\t\"empEducationVO\": null,\n" +
                "\t\t\"empFamilyVO\": null,\n" +
                "\t\t\"empInfoVO\": null,\n" +
                "\t\t\"empTrainListVO\": null,\n" +
                "\t\t\"empWorkListVO\": null,\n" +
                "\t\t\"fieldCode\": \"annexLeaving\",\n" +
                "\t\t\"fieldName\": \"前公司解除劳动关系证明\",\n" +
                "\t\t\"fieldType\": \"7\",\n" +
                "\t\t\"gmtCreate\": 1629092635000,\n" +
                "\t\t\"gmtModified\": 1629092635000,\n" +
                "\t\t\"groupField\": false,\n" +
                "\t\t\"id\": \"A8FBE287EFEC4C19AB94268F31B3D760\",\n" +
                "\t\t\"isEdit\": 1,\n" +
                "\t\t\"isNecessary\": false,\n" +
                "\t\t\"isOpen\": true,\n" +
                "\t\t\"listOfShow\": null,\n" +
                "\t\t\"moduleCode\": \"leaveOffice\",\n" +
                "\t\t\"moduleName\": \"员工离职资料\",\n" +
                "\t\t\"sort\": 84\n" +
                "\t}\n" +
                "]";
    }

    /**
     * 默认模板字段json
     */
    private static String getDefaultFieldJson() {
        return " [\n" +
                "        {\n" +
                "            \"id\": \"AE40ACD2C73F4950A1E2A5BF40911B54\",\n" +
                "            \"sort\": \"180\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"address\",\n" +
                "            \"field_name\": \"住址\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"09784F6BD9074A66B2806ACDDFD9337D\",\n" +
                "            \"sort\": \"170\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"birthday\",\n" +
                "            \"field_name\": \"出生日期\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"2902E81084EF46AF8B9890A79E032D65\",\n" +
                "            \"sort\": \"190\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"birthStatus\",\n" +
                "            \"field_name\": \"生育状况\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"A9E42E18349F4E46A1F6715AAC6BB362\",\n" +
                "            \"sort\": \"270\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"birthStatus\",\n" +
                "            \"field_name\": \"生育状况\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"D87C11FB073F412BA90C0CE38D91C22E\",\n" +
                "            \"sort\": \"190\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"birthStatus\",\n" +
                "            \"field_name\": \"生育状况\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"02AA73D5285B4D59B63C80F5E9E01A10\",\n" +
                "            \"sort\": \"240\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"bloodGroup\",\n" +
                "            \"field_name\": \"血型\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"0CC77CCFC3AE42779DAF4DA48BD6AFD1\",\n" +
                "            \"sort\": \"240\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"bloodGroup\",\n" +
                "            \"field_name\": \"血型\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"8CDECBB35F11420BA49308BD888B795A\",\n" +
                "            \"sort\": \"310\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"bloodGroup\",\n" +
                "            \"field_name\": \"血型\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"98FF4E29AF23477DAE15844726D11566\",\n" +
                "            \"sort\": \"130\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"channelId\",\n" +
                "            \"field_name\": \"渠道来源\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"2E7E0E3E563846EB8861D96FDB575257\",\n" +
                "            \"sort\": \"160\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"channelId\",\n" +
                "            \"field_name\": \"渠道来源\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"461BD432E24B4EF4B940ED201ACA9AE4\",\n" +
                "            \"sort\": \"160\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"channelId\",\n" +
                "            \"field_name\": \"渠道来源\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"00BF2881E51C4A22982244EEB34818D2\",\n" +
                "            \"sort\": \"260\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"currentLocation\",\n" +
                "            \"field_name\": \"现居住地\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"E2F9DF8CCF6E47D8A73C103CFBD31AE8\",\n" +
                "            \"sort\": \"330\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"currentLocation\",\n" +
                "            \"field_name\": \"现居住地\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"FCF771C45D3440C38960EEB6C5A7EC4B\",\n" +
                "            \"sort\": \"260\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"currentLocation\",\n" +
                "            \"field_name\": \"现居住地\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"05F6ED3EB71C46B3B2A9E90E096F1EBF\",\n" +
                "            \"sort\": \"320\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"email\",\n" +
                "            \"field_name\": \"个人邮箱\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"3A8F945C24474FF898041191A7CB8F41\",\n" +
                "            \"sort\": \"250\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"email\",\n" +
                "            \"field_name\": \"个人邮箱\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"4F3CB5530E8245C193D0902F347789DC\",\n" +
                "            \"sort\": \"250\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"email\",\n" +
                "            \"field_name\": \"个人邮箱\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"2241C7AC44E84F0C866C755DD3E18F6C\",\n" +
                "            \"sort\": \"150\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"formalType\",\n" +
                "            \"field_name\": \"员工状态\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"8B6C2E7ACC0D4DAAA21B77F846A19561\",\n" +
                "            \"sort\": \"150\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"formalType\",\n" +
                "            \"field_name\": \"员工状态\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"BC3B4FD4D45B46048D189263A2D3E719\",\n" +
                "            \"sort\": \"250\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"formalType\",\n" +
                "            \"field_name\": \"员工状态\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"00242A1A274D45228AE4DD54F9E08B02\",\n" +
                "            \"sort\": \"110\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"idCard\",\n" +
                "            \"field_name\": \"身份证号\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"2BF918A110644BBF8A3E1949FAA6E5C0\",\n" +
                "            \"sort\": \"120\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"idCard\",\n" +
                "            \"field_name\": \"身份证号\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"87644F09308F4CCC853E0B4F5B1EEF07\",\n" +
                "            \"sort\": \"120\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"idCard\",\n" +
                "            \"field_name\": \"身份证号\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"BC0CAB1FC4AC46AFB4EC22C414DD1EB3\",\n" +
                "            \"sort\": \"190\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"issued_by\",\n" +
                "            \"field_name\": \"签发机关\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"09C70E0C65C8497E92DA0CCF77711194\",\n" +
                "            \"sort\": \"140\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"3\",\n" +
                "            \"field_code\": \"joinDate\",\n" +
                "            \"field_name\": \"入职日期\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"A61DFD6B00D74DA9B8E84721B249A5E5\",\n" +
                "            \"sort\": \"140\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"3\",\n" +
                "            \"field_code\": \"joinDate\",\n" +
                "            \"field_name\": \"入职时间\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"F0043F23E31C43D7B1550C7CDEE1DBDC\",\n" +
                "            \"sort\": \"240\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"3\",\n" +
                "            \"field_code\": \"joinDate\",\n" +
                "            \"field_name\": \"入职日期\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"119D6B7031C546DABCC4E87E087D3B1F\",\n" +
                "            \"sort\": \"260\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"maritalStatus\",\n" +
                "            \"field_name\": \"婚姻状况\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"1769D950501E4039B48AAFA65728FE01\",\n" +
                "            \"sort\": \"180\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"maritalStatus\",\n" +
                "            \"field_name\": \"婚姻状况\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"18C14060A5A94172AB242997DE4CD2AA\",\n" +
                "            \"sort\": \"180\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"maritalStatus\",\n" +
                "            \"field_name\": \"婚姻状况\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"55D9355B59934499875611FFB2CB67F8\",\n" +
                "            \"sort\": \"100\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"name\",\n" +
                "            \"field_name\": \"姓名\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"66E25897526D418AB95FE6E4636E5DFC\",\n" +
                "            \"sort\": \"100\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"name\",\n" +
                "            \"field_name\": \"姓名\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"C3A006306A8F4C79A6F66CFF919F9101\",\n" +
                "            \"sort\": \"100\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"name\",\n" +
                "            \"field_name\": \"姓名\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"91313B4F9B7145B092FFC1D464B1975C\",\n" +
                "            \"sort\": \"200\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"nation\",\n" +
                "            \"field_name\": \"民族\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"A70FE3318AEE4479B2398941944C1520\",\n" +
                "            \"sort\": \"160\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"nation\",\n" +
                "            \"field_name\": \"民族\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"F5CFCB16C1C348B89C305F3B18BBF269\",\n" +
                "            \"sort\": \"200\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"nation\",\n" +
                "            \"field_name\": \"民族\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"314AB86242EF41A390748A96CEB64E79\",\n" +
                "            \"sort\": \"230\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"nativeLocation\",\n" +
                "            \"field_name\": \"户籍地址\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"35110D09CAC04462962066FCAB404188\",\n" +
                "            \"sort\": \"230\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"nativeLocation\",\n" +
                "            \"field_name\": \"户籍地址\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"DF8C83921EE14F8AA001A3F6D7AB98A0\",\n" +
                "            \"sort\": \"300\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"nativeLocation\",\n" +
                "            \"field_name\": \"户籍地址\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"492A76B582B5497E9EEF07E2A5062A1F\",\n" +
                "            \"sort\": \"110\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"phone\",\n" +
                "            \"field_name\": \"手机号码\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"6E65E2EE2AB543B5AB40644AAF50488F\",\n" +
                "            \"sort\": \"110\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"phone\",\n" +
                "            \"field_name\": \"手机号码\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"C703E841FECC401DB4B92BBF6F8C5F34\",\n" +
                "            \"sort\": \"120\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"phone\",\n" +
                "            \"field_name\": \"手机号码\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"FDBBB273EE2B4E2FBCE6DE151F542071\",\n" +
                "            \"sort\": \"220\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"7\",\n" +
                "            \"field_code\": \"photo\",\n" +
                "            \"field_name\": \"身份证照上传\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"2ED47E4CCC954130BB673588A5C188E6\",\n" +
                "            \"sort\": \"280\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"politicalStatus\",\n" +
                "            \"field_name\": \"政治面貌\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"4900C7A7F9E04BAEAEDC6A6D08CEE361\",\n" +
                "            \"sort\": \"210\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"politicalStatus\",\n" +
                "            \"field_name\": \"政治面貌\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"BDB426082C214F049F1848BAE01A1F8D\",\n" +
                "            \"sort\": \"210\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"politicalStatus\",\n" +
                "            \"field_name\": \"政治面貌\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"32843201F84E4358B9642732CBF81F0E\",\n" +
                "            \"sort\": \"230\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"postType\",\n" +
                "            \"field_name\": \"工作性质\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"9320A4ED4C2C415FB4AFFFF39FAD3448\",\n" +
                "            \"sort\": \"130\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"postType\",\n" +
                "            \"field_name\": \"工作性质\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"C9EDF0A2D49D4C079F87C504861BB02F\",\n" +
                "            \"sort\": \"130\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"postType\",\n" +
                "            \"field_name\": \"工作性质\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"1\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"7064558A199F4800A2EF71DD4BE60991\",\n" +
                "            \"sort\": \"220\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"regType\",\n" +
                "            \"field_name\": \"户口类型\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"85D539933C7042AD93F86D4D0E8D09FD\",\n" +
                "            \"sort\": \"220\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"regType\",\n" +
                "            \"field_name\": \"户口类型\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"9C066CA548474EA6827BB159BC3B551D\",\n" +
                "            \"sort\": \"290\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"regType\",\n" +
                "            \"field_name\": \"户口类型\",\n" +
                "            \"is_required\": \"0\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"0\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"31215F03CDDE40418AE48EC3EFBFD70E\",\n" +
                "            \"sort\": \"170\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"remark\",\n" +
                "            \"field_name\": \"备注\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"待入职\",\n" +
                "            \"module_code\": \"waitJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"34D48BF81A9F4EF2995BA5C29A312134\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"7CF69A1AECC64414ACE8105D259DF981\",\n" +
                "            \"sort\": \"150\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"remark\",\n" +
                "            \"field_name\": \"备注\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"E2DDBC061BE94F01B8404E0DCC425DD6\",\n" +
                "            \"sort\": \"170\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"remark\",\n" +
                "            \"field_name\": \"备注\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"入职\",\n" +
                "            \"module_code\": \"onJob\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"5D7CD4C3D5FD4793B18B165F8CAF8644\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"826C04DA05DD414C823670814C636C43\",\n" +
                "            \"sort\": \"200\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"startDate\",\n" +
                "            \"field_name\": \"开始时间\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"B6DBC98D12D74DBEB4C0AC62A1AC5339\",\n" +
                "            \"sort\": \"210\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"2\",\n" +
                "            \"field_code\": \"startDate\",\n" +
                "            \"field_name\": \"结束时间\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        },\n" +
                "        {\n" +
                "            \"id\": \"AF5A004CF9B8457AB03A0DD44C8D03AA\",\n" +
                "            \"sort\": \"140\",\n" +
                "            \"is_default\": \"1\",\n" +
                "            \"is_edit\": \"1\",\n" +
                "            \"field_type\": \"1\",\n" +
                "            \"field_code\": \"workStatus\",\n" +
                "            \"field_name\": \"人员状态\",\n" +
                "            \"is_required\": \"1\",\n" +
                "            \"is_necessary\": \"0\",\n" +
                "            \"is_open\": \"1\",\n" +
                "            \"module_name\": \"预登记\",\n" +
                "            \"module_code\": \"checkIn\",\n" +
                "            \"company_id\": \"default\",\n" +
                "            \"template_id\": \"40E87CF6A4D54544B1E9A198A0D88B85\",\n" +
                "            \"is_valid\": \"1\",\n" +
                "            \"site_id\": \"default\",\n" +
                "            \"gmt_create\": \"24-07-2021 10:06:02\",\n" +
                "            \"create_user_id\": \"default\",\n" +
                "            \"gmt_modified\": \"24-07-2021 10:06:02\",\n" +
                "            \"modified_user_id\": \"default\"\n" +
                "        }\n" +
                "    ]";
    }
}




